#include<iostream>
#include<windows.h>
#include<winuser.h>
#include <string>
using namespace std;

//Warning Currently this program only remembers one Window
//So, if you hide two windows, it can only bring back the last Window
//the first will remain hidden

//Key Table http://www.kbdedit.com/manual/low_level_vk_list.html

int main(){
	HWND hWnd;
	
	while(true){

		//Press Left Shift and H to hide Current Window
		if (GetAsyncKeyState(VK_LSHIFT)){
			Sleep(500);
			if(GetAsyncKeyState(0x48)){
				hWnd = GetForegroundWindow();
				ShowWindow( hWnd, SW_HIDE );
				ShowWindow( hWnd, SW_HIDE );
			}
		}
		
		//Press Left Shift and S to Bring Window Back
		if (GetAsyncKeyState(VK_LSHIFT)){
			Sleep(500);
			if(GetAsyncKeyState(0x53)){
				ShowWindow( hWnd, SW_SHOW );
			}
		}
				
	}
	
	return 0;
}